/*!
 *    This program is free software; you can redistribute it and/or modify
 *    it under the terms of the GNU General Public License as published by
 *    the Free Software Foundation; either version 2 of the License, or
 *    (at your option) any later version.
 *
 *    This program is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *    GNU General Public License for more details.
 *
 *    You should have received a copy of the GNU General Public License
 *    along with this program; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 *
 *    Author: flareguner
 *    E-Mail: flareguner@gmail.com
 *    Years: 2010-2011
 */

#ifndef SHORTCUTCONFIG_H
#define SHORTCUTCONFIG_H

#include <QWidget>
#include <QtGui/QKeySequence>
#include "iface_settings.h"


class QTableWidget;
class QVBoxLayout;
class QKeySequence;
class ShortcutWidget;

class QSettings;

class ShortcutConfig : public QWidget, Iface_settings
{
    Q_OBJECT
public:
    explicit ShortcutConfig(QWidget *parent = 0);
    ~ShortcutConfig();

    void save();
    void read();
    void truncate();


    QKeySequence getGlobalTranslateShortcut() const;
    QKeySequence getLocalTranslateShortcut() const;
    QKeySequence getSwapShortcut() const;
protected:
    void changeEvent(QEvent *);
private:
    QTableWidget *tableWidget;
    QVBoxLayout *mainLayout;

    QSettings *m_settings;

    ShortcutWidget
    *translateGlobal,
    *translateLocal,
    *swapLanguages;


    // Defaults
    static const int
    m_columns;

    static const QKeySequence
    m_default_global_tr,
    m_default_local_tr,
    m_default_swap;


    void createUi();
    void fillTable();

    void insertShortcut(/*const QString &txt,*/
                         ShortcutWidget *widget);
};

#endif // SHORTCUTCONFIG_H
